package cn.tedu.smartos.admin.mapper;

import cn.tedu.smartos.admin.pojo.dto.RegionParam;
import cn.tedu.smartos.admin.pojo.entity.*;
import cn.tedu.smartos.admin.pojo.vo.NoticeVO;
import cn.tedu.smartos.admin.pojo.vo.RegionVO;
import cn.tedu.smartos.baseuser.pojo.vo.UserVO;
import cn.tedu.smartos.admin.pojo.vo.VolunteerVO;

import java.util.List;

public interface AdminMapper {
    //  查询所有用户
    List<UserVO> list();
    //  查询指定用户
    UserVO detail(Long userId);
    //  批量删除用户
    Integer deleteAllByIdInBatch(List<Long> userIds);
    //  修改用户信息
    Integer update(Admin updateParam);
    //  添加用户或管理员
    Integer insert(Admin admin);
//————————————————————————————————————————————————————————————————
    //  查询所有志愿者
    List<VolunteerVO> volunteerList();
    //  查询待自己审核的志愿者
    List<VolunteerVO> waitAudit(Long auditAdminId);
    //  审核志愿者
    Integer auditVolunteer(Volunteer audit);
    //  查看志愿者详情信息
    VolunteerVO volunteerDetail(Long userId);
//————————————————————————————————————————————————————————————————
    //  公告列表
    List<NoticeVO> noticeList();
    //  删除公告
    Integer deleteNotice(List<Long> noticeIds);
    //  添加公告
    Integer insertNotice(Notice notice);
    //  修改公告
    Integer updateNotice(Notice update);
    //  查看公告详情
    NoticeVO noticeDetail(Long noticeId);
//————————————————————————————————————————————————————————————————
    //  区域列表
    List<RegionVO> regionList();
    //  添加区域
    Integer insertRegion(Region region);
    //  删除区域
    Integer deleteRegion(List<Integer> regionIds);
    //  区域详情
    RegionVO regionDetail(Integer regionId);
    //  绑定管理员到区域
    Integer insertAdminRegion(AdminRegion adminRegion);
    //  解绑管理员与区域
    Integer deleteAdminRegion(Long adminRegionId);
}
